/************************************************************************/
/*                                                                      */
/* Fonctions pour la gestion du menu                                    */
/*                                                                      */
/************************************************************************/
function montre(codePage, click) {
	fermerMenu();

	if ( click == true )
	{
		var sousmenu = document.getElementById(codePage);
		// on affiche le sous-menu passe en parametre:
		if ( sousmenu )
		{
			sousmenu.style.display = "block";
		}
	}
	
	// l'utilisateur n'a pas clique sur le menu, c'est seulement la page qui se charge
	else 
	{	
		// on determine quel groupe afficher dans le menu, suivant le parametre passe
		if ( codePage == "req" )
			document.getElementById("req").style.display = "block";
		else if ( codePage == "tsk" )
			document.getElementById("tsk").style.display = "block";
		else if ( codePage == "aff" )
			document.getElementById("aff").style.display = "block";
		else if ( codePage == "pro" )
			document.getElementById("pro").style.display = "block";
		else if ( codePage == "imp" )
			document.getElementById("imp").style.display = "block";
		else if ( codePage == "adm" )
			document.getElementById("adm").style.display = "block";
		else if ( codePage == "rep" )
			document.getElementById("rep").style.display = "block";
		else if ( codePage == "log" ) {
			// on ne fait rien, y'a pas de menu a afficher	
		}
	}
}

function fermerMenu() {
	// on referme tous les sous-menu:
	if ( document.getElementById("dcl") )
		document.getElementById("dcl").style.display = "none";
		
	if ( document.getElementById("tsk") )
		document.getElementById("tsk").style.display = "none";
		
	if ( document.getElementById("aff") )
		document.getElementById("aff").style.display = "none";
		
	if ( document.getElementById("maj") )
		document.getElementById("maj").style.display = "none";
		
	if ( document.getElementById("pro") )	
		document.getElementById("pro").style.display = "none";
	
	if ( document.getElementById("imp") )
		document.getElementById("imp").style.display = "none";
		
	if ( document.getElementById("adm") )
		document.getElementById("adm").style.display = "none";
	
	if ( document.getElementById("rep") )
		document.getElementById("rep").style.display = "none";
}

/************************************************************************/
/*                                                                      */
/* Fonctions utilitaires generales                                      */
/*                                                                      */
/************************************************************************/
function afficheMessage(message, typeMessage) {
	var span = document.getElementById("messageSpan");
	
	if ( span == null ) {
		span = document.createElement("span");
		span.setAttribute("id", "messageSpan");
		
		var div = document.getElementById("section-messages");
		div.appendChild(span);
	}
	
	if ( typeMessage == "info" ) {
		span.setAttribute("class", "fondVert");
		span.setAttribute("className", "fondVert");		// pour IE...
	}
	else if ( typeMessage == "erreur" ) {
		span.setAttribute("class", "fondRouge");
		span.setAttribute("className", "fondRouge");		// pour IE...
	}

	span.innerHTML = message;
}

function disableButton(flag) {

	if ( flag == 1 ) {
		document.getElementById('createBut').disabled='disabled';
	}
	else if ( flag == 2 ) {
		// element tj present
		document.getElementById('rattacherDCB').disabled='disabled';
		
		// element parfois present
		var but = document.getElementById('rattacherProjetB');
		if ( but ) {
			but.disabled='disabled';
		}
	}
}

/**
 * Masque l'�l�ment pass� en param�tre
 */
function hideMe(button) {
	if ( button != null ) {
		button.style.display = 'none';
	}
}

// efface les valeurs entrees dans les inputText de la page tsk-creerTache
function clearLibelles() {
	var code = document.getElementById("body:formCreationTache:Code");
	if ( code ) {
		code.value = "";
	}
	
	var lib = document.getElementById("body:formCreationTache:Libelle");
	if ( lib ) {
		lib.value = "";
	}
	
	var com = document.getElementById("body:formCreationTache:Commentaire");
	if ( com ) {
		com.value = "";
	} 
}

// page creer une imputation
function warnNullRAF(raf) {
	var ok = true;
	
	if ( ( raf == 0 ) || ( raf == 0.0 ) ) {  
		ok = confirm("Etes-vous sur(e) de vouloir enregistrer un RAF de 0?");	
	}
	
	return ok;
}

// page creer une imputation
function warnRemoveImput() {
	return confirm("Etes-vous sur(e) de vouloir supprimer cette imputation?");
}

/**
 * La fonction affiche un gif de chargement
 */
function showLoading() {
	var gif = document.getElementById('loadingGif');
	
	if ( gif != null ) {
		gif.style.display='inline';
		window.setTimeout('animate(\'loadingGif\')', 500);
	}
}

/**
 * Fix IE pour la fonction showLoading() qui n'animait pas
 * le gif
 */
function animate(gif) {
	var img = document.getElementById(gif);
	
	if ( img != null ) {
		img.src = img.src;
	}
}

/************************************************************************/
/*                                                                      */
/* Fonctions pour AJAX	                                                */
/*                                                                      */
/************************************************************************/
function getXHRObject() {
	var xhr_object = null; 
	if(window.XMLHttpRequest)
		xhr_object = new XMLHttpRequest(); 

	else if(window.ActiveXObject) 
	   xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 

	else 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 

	return xhr_object; 
}

